/** 
 * 项目名:shiro 
 * 文件名:UserService.java 
 * 包名:com.spring.shiro.service 
 * 创建日期:2015年2月13日上午10:49:02 
 * 版权(c): ZTESOFT TECHNOLOGY CO.,LTD.Copyright 2012-2030.All rights reserved
 * 
*/  
  
package com.spring.shiro.service;  

import java.util.Set;

import com.spring.shiro.po.User;
 
public interface IUserService {

	/**
	 * 创建账户<br>
	 * <功能详细描述>
	 * @param user
	 * @return 
	 *
	 * @author chj_0507_dz@sina.com
	 */
	public User createUser(User user); 
	
	/**
	 * 修改密码  <br>
	 * <功能详细描述>
	 * @param userId
	 * @param newPassword 
	 *
	 * @author chj_0507_dz@sina.com
	 */
    public void changePassword(Long userId, String newPassword);
    
    /**
     * 添加用户-角色关系<br>
     * <功能详细描述>
     * @param userId
     * @param roleIds 
     *
     * @author chj_0507_dz@sina.com
     */
    public void correlationRoles(Long userId, Long... roleIds);   
    
    /**
     * 移除用户-角色关系<br>
     * <功能详细描述>
     * @param userId
     * @param roleIds 
     *
     * @author chj_0507_dz@sina.com
     */
    public void uncorrelationRoles(Long userId, Long... roleIds);   
    
    /**
     * 根据用户名查找用户<br>
     * <功能详细描述>
     * @param username
     * @return 
     *
     * @author chj_0507_dz@sina.com
     */
    public User findByUsername(String username);   
    
    /**
     * 根据用户名查找其角色<br>
     * <功能详细描述>
     * @param username
     * @return 
     *
     * @author chj_0507_dz@sina.com
     */
    public Set<String> findRoles(String username);   
    
    /**
     * 根据用户名查找其权限<br>
     * <功能详细描述>
     * @param username
     * @return 
     *
     * @author chj_0507_dz@sina.com
     */
    public Set<String> findPermissions(String username); 
}
  